home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / UTIL / DESKTOP / BLACKHOLE / !BlakHole2 / !FatHelp / Help / Singlarity < prev    next >
Text File  |  1997-03-09  |  10KB  |  111 lines

  1. {title}Singularity
  2. Singularity is an extension to Black Hole. Singularity lets you partly integrate Black Hole's wastebin functions with the RISC OS Filer's functions. If you have Black Hole running, then there are two ways you can delete a file:
  3. {tab}
  4. 1) You can drag the icon for the file from the directory viewer to the Black Hole icon. The file will be deleted subject to Black Hole's options. The wastebin part of Black Hole will keep a copy of the file if you have configured it to do so. 
  5. {sprite}delfiler
  6. 2) You can click the MENU button over the file's icon and select 'Delete' from the Filer menu which appears. This will delete the file but Black Hole will not know about this and so the wastebin part of Black Hole will not be able to keep a copy.
  7. {notab}
  8. This is where Singularity comes in. Singularity (if you enable it) will trap all those occasions on which you delete a file by method 2 above and will keep a copy in the Bin Directory.
  9. What's more, Singularity can also spot most occasions when you save (or copy) a file over an existing file. In these cases it will snatch a backup copy of the file and put it in the bin directory. Automatic backups! Wow!
  10. {subhead}Configuring Singularity
  11. Singularity is configured via the Black Hole Configuration window.
  12. [1]
  13. To turn Singularity on, select the 'Trap Filer Deletes' option. If you want to ignore Singularity, make sure the options
  14. 'Trap Filer Deletes'
  15. 'Trap File Overwrites'
  16. 'Report'
  17. are OFF.
  18. I shan't explain the other options as they would probably make your head hurt.
  19. [234]
  20. The options you use are now described.
  21. Singularity is OFF by default. If you turn on either or both of the 'Trap' options, you can toggle them by clicking 'ADJUST' over the Black Hole icon on the iconbar. E.g. if 'Trap Overwrites' is ON and 'Trap Deletions' is OFF one adjust-click on the iconbar will set them both to OFF. A further click will restore the previous state, i.e. 'Trap Overwrites' will come back on. A small window will also open for a short time to inform you that you have just done something.
  22. [2]
  23. The options available are:
  24. {subsub}Trap Filer Deletes
  25. This turns on the bit of Singularity which intercepts those deletions I described earlier.
  26. {subsub}Trap File Overwrites
  27. This turns on the 'Automatic Back Up' feature which will take a copy of a file before that file gets overwritten with a new file.
  28. {subsub}Remove at exit
  29. should be left on.
  30. {subsub}Report
  31. will make a small window open every time Singularity traps a deletion or an overwrite. The window will close after a few seconds.
  32. {subsub}Ignore ADFS floppy discs
  33. If this is ON, Singularity will not be applied to deletions from floppy discs. This is usually a good idea.
  34. {subsub}SparkFS Compatibility Mode
  35. If you use SparkFS you should enable this option otherwise Singularity will not work with SparkFS.
  36. The bit about File Paths to Ignore can be ignored.
  37. [34] 
  38. {subhead}Trap Filer Deletes:
  39. With this option on, Black Hole will intercept all occasions on which you select 'Delete' from a Filer menu (i.e. when you delete a file in the normal way). The file will be copied to the Bin directory before being deleted.
  40. There are a few points to note about this:
  41. 1) The wipe options for this are taken from the filer, not Black Hole's internal Config window.
  42. 2) Due to the way it works, all directory structure is lost.
  43. 3) To prevent complications, this option is temporarily turned OFF during any Black Hole operation involving deletions. If I did not do this, every file would be copied twice.
  44. 4) This bit will also intercept any delete operations carried out from the command line.     
  45. {subhead}Trap File Overwrites:
  46. When this option is on, Singularity will look out for files which are about to be overwritten with new files of the same name. It will then take a backup copy of those files just before they are overwritten. The backup will be in the Bin Directory.
  47. {subhead}Remove at Exit:
  48. With this ON, the BlackHole module will be killed when you quit Black Hole. I recommend that you do this.
  49. {subhead}Report:
  50. With this option ON, every time a file is captured by this method a small window will open to inform you which file has been caught. The window will close after a short time, or you can close it by clicking on its OK button.
  51. {subhead}Ignore ADFS floppy discs:
  52. Trapping deletions from floppy discs can be a slow process and it is very rare that you would want to do this. Turn this option on to stop Singularity applying to ADFS floppy discs (most floppy discs are ADFS).
  53. {subhead}SparkFS Compatability Mode
  54. It's probably my fault, but Singularity doesn't seem to like it when you delete a file from a SparkFS-opened archive. It goes bonkers. So if you use SparkFS you should turn this option on. Then when (and only when) SparkFS is running, Singularity will do a 'slow but safe' copy of the file. Note - Black Hole version 4.03 adds this new feature that 'slow but safe' mode will only be used if SparkFS is running. The symptom you'll get if this mode is not turned on and you delete a file from an archive is that the file gets deleted but no copy gets kept. Some versions of SparkFS also report an 'insufficient memory' error. Ah well.
  55. Note that due to a slight hole in the fabric of reality, if SparkFS mode is on and SparkFS is running, then files of zero bytes will not get copied. I know why this is but I'll be jellied if I'm going to fix it.
  56. {subhead}File Paths to Ignore:
  57. Note : This has changed from previous versions, in that it's now PATHs, not Filing Systems that you ignore, and the 'user interface' is crap.
  58. Basically now you can set up a list of paths which the Singularity module will ignore. If this path is a directory the any deletions or overwrites in that directory or any of its subdirectories will be ignored. If the path is a file then any changes to that file will be ignored.
  59. To add a directory or file to the Ignore list, drag it to the Singularity configuration window. To View or edit the list, click the relevant button. The list will pop up in your favourite text editor and you can edit it. One path per line and a <Return> at the end, please. Once you've edited it, save it back and click the 'Reload List' button. I know this is messy but I don't care :-).
  60. Note that the list of Paths to Ignore always include Wimp$ScrapDir and the root Bin directory, but you cannot see these in the list or remove them.
  61. [34]
  62. {title}Compatibility Issues:
  63. Singularity has been tested with as many filing systems as possible. Two problems are known about:
  64. 1) Singularity cannot differentiate between an Image filing system and it's parent. E.g. a PC emulator DOS partition looks to Singularity like an ADFS disc, even though it's under the control of DOSFS.
  65. 2) If you use SparkFS to create archives in the 'Spark Dir' format and delete any files from there, Singularity will copy them over in COMPRESSED form. This is due to the way this type of Archive is controlled by SparkFS. The same may be true of certain versions of ArcFS, but I haven't tried it 'cos my version's read only.
  66. With normal archives (and with CFS) the files are decompressed on the fly.
  67. 3) RISC OS 3 implements a lot of devices as pseudo-filing systems. One example is the parallel port. Singularity will ignore all the device filing systems that I currently know about.
  68. [4]
  69. The code to do this is quick and therefore does not measurably slow down
  70. the response of these systems.
  71. For insterested parties, the filing systems (and their numbers) that are ignored are:
  72. {tab}
  73.    NetPrint (12)
  74.    Null (13)
  75.    Printer (14)
  76.    Serial (15)
  77.    Vdu (17)
  78.    RawVdu (18)
  79.    Kbd (19)
  80.    RawKbd (20)
  81.    DeskFS (21)
  82.    Computer Concepts RomFS (22)
  83.    Streamer (25)
  84.    Digitiser (27)
  85.    Scanner (28)
  86.    PipeFS (47)
  87.    DeviceFS (53)
  88.    Parallel (54)
  89. {notab}
  90. {title}The BlackHole module.
  91. Filer 'Delete' trapping is controlled by a module called BlackHole. Here, for the interested, are details.
  92. BlackHole provides the following commands.
  93. {tab}
  94. *BinTrapDeletions
  95. *BinTrapNoDeletions  
  96. *BinTrapOverwrites
  97. *BinTrapNoOverwrites   -  The functions of which should be obvious.
  98. *BinAddPathToIgnore    -  Takes one parameter, which is the of a path to be ignored.
  99. *BinIgnoreClear        -  Clears the list of paths to ignore (except for Wimp$ScrapDir).
  100. *BinIgnoreADFSFloppies
  101. *BinCatchADFSFloppies  -  both of which are self-explanatory.
  102. *BinSparkFSModeOn
  103. *BinSparkFSModeOff     -  which should also be obvious
  104. Help is available at the command line for all these options.
  105. {notab}
  106. You also need to ensure that the System Variable BlackHole$BinDir is set to point to the root bin directory for TODAY. Black Hole does this automatically
  107. If you use *BinIgnore you MUST check that the list of path names is no more than 32K bytes long (one byte for each character in the name, plus one more). Black Hole does this, and if you don't you will cause horrible things to happen.
  108. {subhead}Points to note:
  109. BlackHole does a *BinAddPathToIgnore for the parent directory of every delete operation it does, then removes that path from the list when it has finished. This is the only way I can think of to stop it copying all the files twice. I can't let Singularity do all the copying because a) Some people won't want to use it, (b) all directory structure is lost. So you may notice that if you start a delete operation on some objects in a directory, then use the filer to delete another one from there while the first operation is in progress, Singularity will ignore it.
  110. *BinTrapDeletions and *BinTrapOverwrites will ignore all disc operations which take place in Wimp$ScrapDir. If I didn't do this, all the temporay files placed in Wimp$ScrapDir by applications would be copied to the bin before being deleted. This is not particulary useful, and I have seen applications crash because of this. To this end, you should make sure that if you own any applications which allow you to define a scrap directory just for them, you should define it somewhere in Wimp$ScrapDir.
  111.